Systems and methods for layout transformation of document content

ABSTRACT

The document in the first layout at a user interface is displayed. The first layout displays the document in a continuous view. The first layout the document is scrollable to display different regions of the document at a user device. A first user request to convert the display of the document from the first layout to the second layout is received. Responsive to the first user request, a suggested boundary within the first layout of the document is determined by identifying an end of first content of a first content type and a beginning of second content of a second content type in the document. The first content type and the second content type are different content types.

RELATED APPLICATION

This application is a continuation application of U.S. patentapplication Ser. No. 14/331,570, filed on Jul. 15, 2014, the entirecontents of which are hereby incorporated by reference herein.

FILED OF THE INVENTION

This disclosure relates to layout transformation of document content.

BACKGROUND

Document content is increasingly displayed digitally, rather than beingprinted onto sheets of physical paper. However, many document formattingand editing applications are designed with paper considerations in mind.In particular, existing document editing applications are typicallyconcerned with ensuring that the digital view matches the view of thedocument when printed on paper. As digital devices become increasinglymobile, it is undesirable to restrict document formatting and editingapplications to digital views that mimic how the document content lookson paper. As an example, page breaks are not a concern in the digitalenvironment because the digital view is not limited based on the size ofa sheet of paper.

SUMMARY

Systems and methods are disclosed herein for transitioning a display ofa document from a first layout to a second layout. A processor at a userinterface displays the document in the first layout. The processorreceives a first user input indicative of a request to convert thedisplay from the first layout to the second layout that represents thedocument as having a plurality of portions. The processor identifies asuggested boundary at a first position between two of the plurality ofportions, displays the document in the second layout having thesuggested boundary at the first position, and receives a second userinput indicative of a request to move the suggested boundary to a secondposition different from the first position. The document is displayed inthe second layout having the boundary in the second position.

Another aspect relates to a system including means for transitioning adisplay of a document from a first layout to a second layout. The systemincludes means for displaying the document in the first layout and meansfor receiving a first user input indicative of a request to convert thedisplay from the first layout to the second layout that represents thedocument as having a plurality of portions. The system further includesmeans for identifying a suggested boundary at a first position betweentwo of the plurality of portions, means for displaying the document inthe second layout having the suggested boundary at the first position,and means for receiving a second user input indicative of a request tomove the suggested boundary to a second position different from thefirst position. The system further includes means for displaying thedocument in the second layout having the boundary in the secondposition.

In some embodiments, the suggested boundary is identified based ondocument content in the two of the plurality of portions, and thedocument content corresponds to at least one in the group consisting oftext content, paragraph content, header content, image content, tablecontent, and formatting content. The suggested boundary at the firstposition may immediately precede paragraph content, header content,image content, or table content. The suggested boundary at the firstposition may immediately follow paragraph content, image content, ortable content. The second position of the boundary may be a parameter ofthe second layout and may be stored with the document.

In some embodiments, the first layout represents the document as asingle continuous scrolling portion. The system may further includemeans for receiving a third user input indicative of a request toconvert the display from the second layout to the first layout, andmeans for combining the plurality of portions in the second layout intoa single continuous portion. The document content in the first layoutmay be displayed at a first size, the document content in the secondlayout may be displayed at a second size different from the first size,and the document content may be text, image, or table content.

In some embodiments, the user interface includes a touch screen and thefirst user input and the second user input are touch inputs. The systemmay further include means for receiving a third user input indicative ofa request to add an additional boundary at a third position after thedocument is displayed in the second layout. The system may include meansfor receiving a third user input indicative of a request to reorder theplurality of portions in the second layout or to combine at least two ofthe plurality of portions into a single portion.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present disclosure, including itsnature and its various advantages, will be more apparent uponconsideration of the following detailed description, taken inconjunction with the accompanying drawings in which:

FIG. 1 is a diagram of a user device for displaying document content,according to an illustrative embodiment.

FIG. 2 is a flow chart of a method to determine an appropriate layoutmode for displaying document content, according to an illustrativeembodiment.

FIG. 3 is a flow chart of a method for transforming document contentinto a portioned layout, according to an illustrative embodiment.

FIG. 4 is a flowchart of a method for transforming document content froma first layout to a second layout, according to an illustrativeembodiment.

FIG. 5 is a diagram of an example display of document content in acontinuous layout, according to an illustrative embodiment.

FIG. 6 is a diagram of an example display of document content in aportioned layout, according to an illustrative embodiment.

FIGS. 7-9 are diagrams of example displays of document content in aportioned layout, where a user modifies a position of a boundary,according to an illustrative embodiment.

FIGS. 10-12 are diagrams of example displays of document content in aportioned layout, where a user adds a boundary and modifies theboundary's position, according to an illustrative embodiment.

FIG. 13 is a diagram of an example display of document content in acontinuous layout in a portion, according to an illustrative embodiment.

FIG. 14 is a diagram of an example display of document content during atransition from a continuous layout to a portioned layout, according toan illustrative embodiment.

FIG. 15 is a diagram of an example display of document content in aportioned layout, according to an illustrative embodiment.

FIG. 16 is a diagram of an example display of a view of one portion ofdocument content in a portioned layout, according to an illustrativeembodiment.

FIG. 17 is a diagram of an example display of document content in aheterogeneous layout, according to an illustrative embodiment.

FIG. 18 is a diagram of an example display of document content in aheterogeneous layout, where a user modifies an order of portions of thedocument content, according to an illustrative embodiment.

FIGS. 19-21 are diagrams of example displays of document content in aheterogeneous layout, where a user combines two portions of the documentcontent, according to an illustrative embodiment.

FIGS. 22-24 are diagrams of example displays of document content in aheterogeneous layout, where a user deletes a portion of the documentcontent, according to an illustrative embodiment.

FIG. 25 is a block diagram of a computing device, such as any of thecomponents of the system of FIG. 1, for performing any of the processesdescribed herein.

DETAILED DESCRIPTION

To provide an overall understanding of the invention, certainillustrative embodiments will now be described, including a system fortransforming a layout of document content. However, it will beunderstood by one of ordinary skill in the art that the systems andmethods described herein may be adapted and modified as is appropriatefor the application being addressed and that the systems and methodsdescribed herein may be employed in other suitable applications, andthat such other additions and modifications will not depart from thescope thereof. FIG. 1 is a diagram of a user device 102 for displayingdocument content. The user device 102 includes a processor 104, a memory106, a layout renderer 108, a display 110, a user interface 112, and adocument database 114, all of which are connected to a data bus withinthe user device 102. A user interacts with the user device 102 over theuser interface 112 to view or edit a document, which may be stored inthe document database 114. The document may be stored in the documentdatabase 114 and may correspond to a presentation with the user wishesto interact, such as by displaying, editing, or viewing thepresentation. The layout renderer 108 is responsible for rendering alayout of the document content in the document on the display 110.

The layout renderer 108 may determine to render the layout in accordancewith one of multiple modes. In one example, at least two modes may beused. In particular, a “continuous mode” may refer to a layout in whichthe document content within a document is displayed on the user device102 as one continuous and fluid piece. The display of the document mayinclude a scroll bar so that the user may change the view of thedocument to display various regions of the document. In contrast, a“portioned mode” may refer to a layout in which the document contentwithin a document is divided into multiple portions, such thatboundaries or borders exist between consecutive portions. In theportioned mode, the placement of the boundaries may initially beautomatically suggested based on the document content and a size of theportions, and the user may be allowed to modify the boundaries by addingadditional boundaries, removing existing boundaries, modifying theposition of any existing boundaries, or any suitable combinationthereof. While the systems and methods of the present disclosure aredescribed in relation to continuous mode or portioned mode, other modesmay be used. In an example, a heterogeneous mode may be used such that adocument is divided into multiple portions, but one or more of theportions is displayed in a continuous mode.

To accommodate the increasing demand for convenient displaying ofdigital content, the systems and methods of the present disclosureenable a device to transform a display of a document between acontinuous layout and a portioned layout. While the demand for digitaldisplays increases, less emphasis is placed on the appearance ofdocument content on printed sheets of paper. In particular, documents inthe digital document content environment are not necessarily printed,such that page breaks between sheets of paper are not a concern. In thismanner, it may be desirable to display document content as a singlecontinuous piece. When a document is displayed in a continuous layoutmode, the document content may be allowed to grow. When the amount ofdocument content exceeds a size of the display 110, the user may scrollvertically, horizontally, diagonally, or in multiple directions to viewadditional document content. For example, the document content mayinclude a table that is larger than the size of the display 110. Theuser may scroll in any direction within a view of the display to viewdifferent regions of the table. In an example, document content may beautomatically adjusted to fit the screen of the display. In particular,various objects in document content may be automatically repositionedbased on the size and aspect ratio of a screen, and text may be resizedor wrapped accordingly. However, documents often include multiplesections, such as a title, abstract, introduction, etc. In this case, itmay be desirable to divide a document into multiple portions inaccordance with the various sections. The portioned layout may includedocument content that is absolutely positioned on portions with fixedsize. It is desirable to provide an easy method of transitioning a viewof document content from a continuous layout to a portioned layout, andvice versa, so that users may envision how document content is displayeddigitally.

The user device 102 includes, without limitation, any suitablecombination of one or more input devices (e.g., keypads, touch screens,trackballs, voice recognition systems, etc.) and/or one or more outputdevices (e.g., visual displays, speakers, tactile displays, printingdevices, etc.). As used herein, “user device” includes, withoutlimitation, any suitable combination of one or more devices configuredwith hardware, firmware, and software to carry out one or more of thecomputerized techniques described herein. Examples of user devicesinclude, without limitation, personal computers, laptops, and mobiledevices (such as smartphones, PD As, tablet computers, etc.).

The processor 104 refers to one or more computers, microprocessors,logic devices, servers, or other devices configured with hardware,firmware, and software to carry out one or more of the computerizedtechniques described herein. Processors and processing devices may alsoinclude one or more memory devices, or may use the memory 106 forstoring inputs, outputs, and data that is currently being processed. Anyof the functions described herein as being performed by the processor104 may be performed by the layout renderer 108, and vice versa. Thememory 106 or a memory device in the processor 104 may store computerreadable instructions that when executed, cause the processor 104 and/orthe layout renderer 108 to perform any of the functions describedherein. For example, the processor 104 may carry out instructions storedin the memory 106 that cause the processor to provide the user interface112 to the display 110 to present the content of a document in aparticular manner. The processor 104 may also receive user input overthe user interface 112 to modify a layout rendering of a document and/orto modify the content of the document.

FIGS. 2-4 are example flow charts of methods that may be executed by theprocessor 104 or the layout renderer 108 to transform a layout of adocument from one mode into another mode. FIGS. 5-24 are examplediagrams of various displays of the user interface 112 that show how auser may interact with a presentation document to switch betweendifferent layout modes, or to modify borders between different portionsof a document.

FIG. 2 is a flow chart of a method 200 to determine an appropriatelayout mode for displaying document content, according to anillustrative embodiment. The method 200 may be executed by a processorsuch as the processor 104, and includes the step of determining whetherto display document content in a continuous layout (decision block 204).If the continuous layout mode should be used, the document is displayedin a continuous layout (step 206). Displaying a document in a continuouslayout mode may cause the document to be displayed as one continuouspiece, such that a user may scroll through various regions of thedocument to view the different regions. An example of a document that isdisplayed in a continuous layout is described in relation to FIG. 5. Thedocument is displayed in a continuous layout at step 206 until it isdetermined that the document content should no longer be displayed inthe continuous layout at decision block 204.

When the document content should not be displayed in the continuouslayout, the processor 104 determines whether to display the documentcontent in a portioned layout at decision block 208. Displaying adocument in a portioned layout may cause the document to be displayed inmultiple portions. Various examples of a document that is displayed in aportioned layout are described in relation to FIGS. 6-12 and 14-24.Moreover, an example method for suggesting boundaries and allowing auser to modify the boundaries in a portioned layout is described inrelation to FIG. 3.

As is shown in FIG. 2, the processor 104 first determines whether todisplay document content in a continuous layout at decision block 204,before determining whether to display document content in a portionedlayout at decision block 208. Alternatively, if the only modes are thecontinuous layout mode and the portioned layout mode, a binary flag maybe set to a first value to display the document content in a continuouslayout and to a second value to display the document content in theportioned layout. In this manner, the processor 104 determines theappropriate mode of display based on the value of the flag. In thismanner, decision blocks 204 and 208 may be combined into a singledecision block.

FIG. 3 is a flow chart of a method 300 for transforming document contentinto a portioned layout such that the document is divided into multipleportions. The method 300 may be executed by a processor such as theprocessor 104 or the layout renderer 108, and includes the steps ofidentifying suggested boundaries at suggested positions between twoportions (step 302), displaying the document in the portioned layoutwith the suggested boundaries (step 304), receiving a user input tomodify any of the suggested boundaries (decision block 306), anddisplaying the document in the portioned layout with the modifiedboundaries (step 308).

At 302, the processor 104 identifies suggested boundaries at suggestedpositions between two portions of a document. In an example, such asthat shown in FIG. 5, the document content 520 is initially displayed ina continuous layout. The document content 520 may then be segmented intomultiple portions for display in a portioned layout mode. In order tosegment the document content 520, the processor 104 may identify a setof suggested boundaries for dividing the document content 520 intomultiple portions. The processor 104 may determine the set of suggestedboundaries based on any number of factors, including but not limited tothe document content (such as text content, paragraph content, headercontent, image content, video content, table content, and formattingcontent), size of the display of the user device 102, and the amount ofdocument content 520.

In one example, a hard limit may be applied to the amount of contentthat is allowed to be on each portion. For example, a limited number ofwords or characters in a particular font size may be assigned to eachportion. When the document content includes objects other than text, thesizes of the objects may be compared to the size of the portion todetermine how many of the objects should be allotted to a particularportion. When document content includes both text and objects, theprocessor 104 may assign a combination of text content and objectcontent to a particular portion based on the amount and size of the textand objects. In this manner, the document content may be parsed frombeginning to end, and the document content may be sequentially allocatedto portions.

In an example, the document content is not parsed from beginning to end.In this case, the document content may be parsed beginning withnon-textual content, such as images, tables or other types of objects.In particular, it may be undesirable to break up these non-textualobjects. For example, if there are multiple images positionedside-by-side, such as in FIG. 5, it may be desirable to place the imagestogether on the same portion. In this case, the allocation of certainobjects such as images, tables, graphs, and charts to various portionsmay be constrained by requiring various objects to be placed together ona portion or on their own portions without any other document content.

In one example, a document may include text, followed by a table,followed by additional text. The document content may be parsedbeginning with the table. The table may be too large to fit on thespecified dimensions of a portion, such that the size of the table maybe scaled down so that the table fits onto a portion. Alternatively, ifit is undesirable to scale the table down, one region of the table maybe displayed on the allowed portion, and a user may scroll or navigatein any direction to view different regions of the table. The sameprinciple may be applied to a large image or any other object withindocument content. In particular, it may be desirable to view a detailedregion of the image within the portion, while being able to scroll ornavigate to other regions of the image.

In some embodiments, text that is proximate the various objects in thedocument content may be manipulated or resized to accommodate theplacement of the objects on certain portions. For example, the processor104 may determine that an image is related to the text that immediatelyfollows the image. In particular, the text that immediately follows theimage may be a caption for the image, such that it is desirable to placeboth the image and the caption together on the same portion. In thiscase, the image may be anchored to the caption, and the processor 104may position the suggested boundaries without placing the image and thecaption on different portions. Similarly, text immediately preceding animage or another object may be anchored to that object. Equivalently,certain objects may be anchored to other objects, such that objectsanchored to one another would appear on the same portion. In thismanner, the processor 104 may detect relationships between variousdocument content objects and select the suggested boundaries inaccordance with the relationships.

In some embodiments, a suggested boundary is positioned to immediatelyprecede certain types of document content, such as paragraph content,header content, image content, or table content. In this case, thebeginning of a portion includes those certain types of document content.In some embodiments, a suggested boundary is positioned to immediatelyfollow certain types of document content, such as paragraph content,image content, or table content. In this case, the end of a portionincludes those certain types of document content. In some embodiments, aset of templates may be used to fit content to create a design that isaesthetically pleasing. While processing document content in thecontinuous layout, the processor 104 may determine whether a portion oftext and/or objects would fit into one of those templates. If so, thedocument content may be subdivided such that the corresponding portionand/or objects are sectioned into the corresponding template. Thesedifferent templates may have predefined parameters, such that when theprocessor 104 encounters document content in the continuous layout thatmeets those parameters, the processor 104 may subdivide the documentcontent according to the corresponding template. For example, a firsttemplate in the set of templates may include parameters such as a tallimage to the right of a block of text. When the processor 104 encountersa tall image in the continuous layout of the document and there isenough text adjacent to the image to use in the first template, this maycause the processor 104 to trigger subdividing the document content suchthat the tall image and the text are placed on a section using the firsttemplate.

As is shown in FIG. 5, the display 500 includes a continuous layoutdisplay of the document content 520. The display 500 further includes apointer 528, which is depicted in FIG. 5 as a user's hand. The display500 may be shown on the display 110 or user interface 112 of the userdevice 102. In an example, the display 500 includes a touch screen, suchthat the pointer 528 is indicative of a location of the user's touch onthe display 500. However, in general, the display 500 may be shown overany suitable user interface, such as a computer, a smartphone, a tablet,or any other suitable device for interacting with a user. The userinteracting with the user device 102 may control the pointer 528 toselect the continuous mode region 524 or the portioned mode region 526.When the continuous mode region 524 is selected, the document content520 is displayed in a continuous layout, such as is shown in FIG. 5.Alternatively, if the pointer 528 selects the portioned mode region 526,then the document content 520 is displayed in a portioned layout such asthat shown in FIG. 6. Referring back to FIG. 3, at step 304, theprocessor 104 displays the document content 520 in the portioned layoutwith the suggested boundaries, as is shown in FIG. 6. In the portionedlayout that is shown in FIG. 6, the document content 520 is segmentedinto at least three portions 631, 633 and 635 of the document, with afirst suggested boundary 632 between the portions 631 and 633 and asecond suggested boundary 634 between the portions 633 and 635. In thedisplay 600 of FIG. 6, the region 630 includes instructions for the userto drag the splitters (or boundaries 632 or 634) to change the positionsof any of the boundaries. Moreover, the region 630 allows the user toselect to change an aspect ratio of each portion of the document. Inparticular, the current view of the display 600 shows the portions 631,633, and 635 having aspect ratios of 16:9, but in general, any suitableaspect ratio may be used. Similarly, the user may select precisedimensions of the portions.

FIG. 6 shows a preview of the suggested boundaries 632 and 634 to theuser before the user saves the document. The preview may be displayedfor the user to modify any of the boundaries or to move content betweenthe portions 631, 633 and 635. For example, any portions that do nothave any content after the user has modified the suggested boundariesmay be automatically removed. The region 630 includes options for theuser to cancel or save the display of the document content 520 in theportioned layout. Selecting the cancel area within the region 630 wouldcause the layout rendering of the document content 520 to return thecontinuous layout shown in FIG. 5. Selecting the save area within theregion 630 would cause the processor 104 to save the current settings ofthe portioned layout, such as the positions of the boundaries, thecurrent aspect ratio, the dimensions of the portions, and the content ofthe portions.

The processor 104 may select the suggested boundaries 632 and 634according to any number of methods. In one example, the processor 104may recognize that the first line of the document content 520 is a titleof a presentation document. In this case, it may be desirable to placethe title on its own slide, without any other content, and the processor104 may set the initial position of the first suggested boundary 632 toimmediately follow the first line. In some embodiments, the processor104 parses the document content 520 from top to bottom in this manner,incrementally assigning successive segments of document content 520 intovarious portions. In this case, the processor 104 may fill eachsuccessive portion with content until the respective portion is full,before beginning to file the next portion with further content. Theamount of content in each portion may be based on the aspect ratio ordimensions of the portions, which may be modified by the user.

Referring back to FIG. 3, at decision block 306, the processor 104determines whether user input to modify at least one of the suggestedboundaries is received. As described herein, the systems and methods ofthe present disclosure allow a user to modify a set of suggestedboundaries that divide document content 520 into multiple portions. Asis described herein, a processor 104 may determine the set of suggestedboundaries, and a user may manually modify the set of suggestedboundaries by modifying a position of one or more of the suggestedboundaries, removing one or more of the suggested boundaries, adding oneor more additional boundaries, or any suitable combination thereof.

In some embodiments, the user modifies the set of suggested boundariesby providing user input that modifies a position of one or more of thesuggested boundaries. An example of such input being provided by theuser is shown in relation to FIG. 7, in which the pointer 528 selectsthe second original suggested boundary 634 (i.e., shown as the movingboundary 734 in FIG. 7). As is shown in FIG. 7, the pointer 528 dragsthe moving boundary 734 in a downward direction, causing documentcontent to be shifted from the portion 635 to the portion 633. In otherwords, modifying the original boundary 634 to a new position below theoriginal position causes the portion 633 to include additional content,while the portion 635 includes less content. FIG. 8 is an example of thedisplay as the pointer 528 drags the moving boundary 834 (previously themoving boundary 734 in FIG. 7) downward into the portion 635.

As the position of the moving boundary 834 is shifted downward, thedocument content within the portions 633 and 635 remains unchanged untilthe pointer 528 releases the moving boundary 834, or until the pointer528 has dragged the moving boundary 834 by a threshold amount. Thethreshold amount may be determined based on an amount of documentcontent 520 that is shifted from one portion to another during thedragging process. For example, as is shown in FIG. 9, the pointer 528drags the moving boundary 934 (previously the moving boundary 834 inFIG. 8) further downward and past a series of images. The processor 104may recognize the amount of document content 520 that has been passed bythe moving boundary exceeds a threshold amount, and may then provide arendering of updated portions 933 and 935. In particular, the updatedportion 933 includes document content 520 from at least portions 633 and635, and the updated portion 935 includes document content 520 thatfollows the portion 635. Providing such a rendering of the updatedportions allows a user to see a live preview of the portions before theuser releases the drag handle. In this manner, the live preview helpsthe user to make an informed decision regarding where to move theboundaries.

In FIG. 10, the pointer 528 has released the moving boundary 934,thereby stopping the dragging process and causing the modified boundary1034 to have an updated position compared to the original position ofthe suggested boundary 634 in FIG. 6. Because the position of themodified boundary 1034 is below the position of the suggested boundary634, the placement of the document content 520 into the various portionsis modified, such that the portion 1033 includes the document content520 from at least the portions 633 and 635, and the portion 1035includes document content 520 beyond those original portions 633 and635. The example displays in FIGS. 6-10 are described in relation todragging the position of a suggested boundary in a downward direction.In general, modified boundaries may be further modified, such thatadditional modifications may be made to previously modified boundaries.Moreover, the modification may occur in any direction, includingdownward, upward, or sideways. In this manner, the processor 104 enablesa user to provide input to modify any of the positions of theboundaries, and at step 308, the document content is displayed in theportioned layout with the modified boundaries, such as is shown in FIG.10.

In some embodiments, the user modifies the set of suggested boundariesby adding one or more new boundaries to the set. The user may provide auser input indicative of a request to add a new boundary to the layoutby selecting the add button 636 shown in FIG. 6. In particular, FIG. 10shows a display of a current view when pointer 528 has selected the addbutton 636. As is shown in FIG. 10, when the pointer 528 selects the addbutton 636, an added boundary 1038 is created. The initial position ofthe added boundary 1038 may be set to a default position near the addbutton 636, or in an alternate position. A graphical indication may beprovided to the user that the position of the added boundary 1038 is notyet placed. FIG. 10 depicts this graphical indication as a horizontaldashed line extending across the portion 1035, and a “NEW” label at theright end of the dashed line. In general, any other suitable graphicalindication, such as the use of colors, line styles, line widths, or anyother suitable graphic, may be used to indicate that the boundary 1038is not yet placed. In another example, gestures may be used to modifythe boundaries by adding new boundaries, moving existing boundaries, orremoving existing boundaries. In an example, to add a new boundary thatdivides an existing portion into two portions, a user may provide agesture that pulls the portion apart at the desired location, or agesture that draws a line across the existing portion. In these cases,there may be no particular user interface element, such as a button or aregion that the user selects to indicate a desire to add a new boundary.Instead, the processor 104 may be configured to detect when suchgestures are made, and may react to the gestures accordingly.

Just as the user may modify the position of any of the suggested ormodified boundaries as is described above, the user may modify theposition of the added boundary 1038. In particular, the user may controlthe pointer 528 to select the added boundary 1038 and drag the addedboundary 1038 in any direction. FIG. 11 shows an example of the addedboundary being dragged upward to a new position above the initialposition of the added boundary 1038. When the pointer 528 releases theadded boundary 1138, the boundary is placed at the released position,and the boundary is converted to a placed boundary 1238 as shown in FIG.12. In particular, in FIG. 12, the position of the boundary 1238 isplaced, such that the horizontal dashed line is converted to a solidline. The placed boundary 1238 divides the previous portion 1033 (inFIG. 10) into two portions 1233 and 1235 (in FIG. 12). In this manner,the processor 104 enables a user to provide input to add one or moreboundaries to the display of the document content 520, and at step 308,the document content is displayed in the portioned layout with the addedand modified boundaries, such as is shown in FIG. 12.

In some embodiments, the user modifies the set of boundaries by removingone or more boundaries from the set. The user may remove one or moreboundaries from the set of boundaries on the display by providing userinput indicative of a request to remove the selected boundaries. In anexample, when the display is a touch screen, the user may provide atouch gesture, such as a swipe right or swipe left, to the boundary tobe removed. Referring to FIG. 12, the user may select to remove theboundary 632, such that the portions 631 and 1233 are combined into asingle portion. Moreover, the user may select to remove an originalsuggested boundary as initially provided by the processor 104 (such asthe boundary 632, for example), or a new boundary added by the user(such as the boundary 1238, for example). In this manner, the processor104 enables a user to provide input to remove one or more boundariesfrom the display of the document content 520, and at step 308, thedocument content is displayed in the portioned layout with any modified,added, or removed boundaries.

As is shown in FIG. 3, only one iteration of the decision block 306 andthe step 308 is shown. In particular, the method 300 includes only oneinstance of the user providing user input to modify any of the suggestedboundaries and displaying the document with the modified boundaries inthe portioned layout. However, in general, one of ordinary skill in theart will understand that any number of iterations of decision box 306and step 308 may be repeated, as long as the user provides further userinput to modify any of the boundaries. As used herein, the termmodifying any of the boundaries includes, but is not limited to,updating a position of any of the existing boundaries, adding newboundaries, and removing existing boundaries. Moreover, the sameboundaries may be modified multiple times. For example, a boundary maybe added by the user, and the position of the added boundary may bemodified one or more times. In an example, the position of a boundarymay be modified one or more times before being removed. Decision block306 and step 308 may be repeated as long as user input is received tomodify, add, or remove any of the boundaries. When the user is donemaking changes to the set of boundaries, the process 300 returns to step202, which in FIG. 2 leads to decision block 204, where the processor104 to determine whether to display the document content in a continuouslayout.

FIGS. 13-24 depict other examples of how the document layout may betransformed between a continuous layout mode and a portioned layoutmode. In particular, FIG. 13 depicts an exemplary display 1300 withdocument content 520 shown in a continuous layout in a single portion onthe left-hand side of the display 1300. FIG. 14 shows another display1400 of the document content 520 divided into nine portions 1450, 1452,1454, 1456, 1458, 1460, 1462, 1464 and 1466. These nine portions1450-1466 include the same document content 520 as was shown in FIG. 13,except FIG. 14 shows the document content during a transition from thecontinuous layout shown in FIG. 13 to the portioned layout shown in FIG.15. FIG. 15 shows the same document content in a portioned layout wherethe portions are formatted side-by-side rather than the overlappingformat as shown in FIG. 14. In particular, the portion 1550 includes thesame document content as the portion 1450, the portion 1552 includes thesame document content as the portion 1452, and the portion 1554 includesthe same document content as the portion 1454.

The example displays shown in FIGS. 14-24 are shown at a high level, inwhich multiple portions may be displayed adjacent to one another, and auser may select one of the portions to view the selected portion aloneon the display. After the user is done viewing the selected portion, theuser may provide an input indicative of a desire to return to the highlevel view of the document (such as gesture 1600 in FIG. 16). FIGS.14-24 show example displays of a user reordering, combining, andremoving portions of a document. For example, the user may drag and dropvarious portions to re-order the portions, such as the example displaysshown in FIGS. 17 and 18. To combine portions, the user may drag anddrop one portion to the end or beginning of another portion to combinethe two portions, such as the example displays shown in FIGS. 19-21. Toremove a portion, the user may swipe the portion off of the screen suchthat the portion is deleted from the document content, such as theexample displays shown in FIGS. 22-24. Moreover, the user may select toadd one or more portions (not shown).

FIG. 16 shows a view of the display 1600 when the user selects to viewthe document content 520 in a continuous layout, such as by selectingthe left hand region of the display shown in FIG. 13. In this case,Alternatively, the display 1600 may correspond to a zoom-in view of aportion of the document.

In some embodiments, the document is displayed in a heterogeneouslayout, including both continuous and portioned sections. For example,the displays shown in FIGS. 17-24 include document content that isdivided into multiple portions, but each portion has a different lengthdepending on the amount of document content in each portion. Inparticular, as is shown in FIG. 17, the document content 520 is dividedinto multiple portions 1770, 1772, 1774 and 1776. Each of the individualportions may be displayed in a continuous layout mode such as that shownin FIG. 16. One way that the user may transition from the continuouslayout shown in FIG. 16 to the heterogeneous layout shown in FIG. 17 isby providing a touch gesture, such as that shown in FIG. 16. Inparticular, the touch gesture 1660 indicates that the pointer 528 slidesthe index finger and the thumb toward each other. An input such as thetouch gesture 1660 is a user input that is indicative of a desire totransition from the zoomed-in view shown in FIG. 16 to the heterogeneouslayout view in FIG. 17. In particular, the display 1600 of FIG. 16 maycorrespond to a zoomed-in view of document content, where the zoomed-inview may be shown in a continuous layout mode (in which case the usermay scroll through the entire document) or a portioned mode (in whichcase the user may only view one portion of the document at a time in thezoomed-in view). In the heterogeneous layout view shown in the display1700 of FIG. 17, the view of the document content is zoomed-out, suchthat the display includes a view of multiple portions in the document.In the heterogeneous layout view, when document content is added to eachportion, the size of that particular portion may grow. In this case, thesize of the font may not be adjusted to fit the document content withina particular portion because the size of the portion may be adjusted.

In the heterogeneous layout, when a first portion is displayed on thescreen, the user may provide a touch gesture that indicates a desire todisplay a second portion of the document content. For example, the usermay provide a swipe gesture to display the next portion. The swipegesture may include a scroll to the end of the first portion, followedby an over-scroll touch gesture to display the next portion.

FIG. 17 shows a display 1700 of a heterogeneous layout of the documentcontent 520. The display 1700 may be shown in response to receiving thetouch gesture 1660 of FIG. 16. In particular, the heterogeneous layoutshown in FIG. 17 includes various portions of the document content 520having different sizes. The portions 1770, 1772, 1774 and 1776 are shownside-by side and have the same width but different heights.

The user may provide user input indicative of a desire to modify any ofthe portions 1770-1776. In an example, FIG. 18 shows the resultingdisplay 1800 when a user uses the pointer 528 to indicate a desire tomodify the ordering of the portions. In particular, FIG. 18 shows theresult when the user input indicates a desire to swap the positions ofthe portions 1772 and 1774 compared to their original positions in FIG.17. As is shown in FIG. 18, the user may provide such a user input bycontrolling the pointer 528 to select and drag the portion 1774 toprecede the portion 1772. Alternatively, the user may control thepointer 528 to select and drag the portion 1772 to follow the portion1774. FIG. 18 shows the result when the positions of two portions areswapped. However, the user may select to update the ordering of theportions by selecting and dragging a portion across any number of otherportions, such that the positions of more than two portions may beaffected by such a modification.

FIGS. 19 and 20 depict a way for the user to modify a set of boundariesby removing a boundary in the set. To remove a boundary, the user mayselect to combine any two portions of the document content 520 byselecting one portion and dragging the select portion directly below orabove another portion. In particular, as is shown in FIG. 19, the usercontrols the pointer 528 to select the portion 1772, and in FIG. 20, theuser controls the pointer 528 to drag the portion 1772 to be positioneddirectly below the portion 1774. Releasing the pointer 528 at thisposition causes the two portions 1774 and 1772 to be combined into asingle combined portion 2072 as is shown in FIG. 20. The combinedportion 2072 includes the document content from 1774 above the documentcontent from the portion 1772. In this manner, the user has effectivelyremoved the boundary between the portions 1774 and 1772.

FIG. 21 shows the resulting screen after the portions 1774 and 1772 arecombined into the combined portion 2072. In the display 2100, a region2180 indicates that the user has combined two portions together into acombined portion. The user is provided an undo option 2182 to undo thecombining. In some embodiments, the region 2180 may include a confirmbutton, such upon selecting the confirm button, the region 2180 isremoved. The resulting display may be as is shown in FIG. 22, in whichthe portion 1776 is moved from an original position to the right of theregion 2180 to a new position to the immediate right of the combinedportion 2072.

In some embodiments, the user may modify the document content 520 byremoving one or more portions of the document content 520 to result inupdated document content 2420. An example is shown in FIG. 23 in whichthe user provides a touch gesture, such as an upward swiping motion,that may delete the portion 1776 from the document content 520. FIG. 24includes a region 2480, which is provided after the removal of theportion 1776 to notify the user that a portion has been removed. As wasdescribed in relation to FIG. 21, the region 2480 includes an undooption 2482 to undo the removal. In this case, selecting the undo button2482 would cause the portion 1776 to be returned to the updated documentcontent 2420.

FIG. 4 is a flowchart of a method 400 for transforming document contentfrom a first layout to a second layout. The method 400 may be executedby a processor, such as the processor 104 or the layout renderer 108 ora combination of both, and includes the steps of displaying the documentin a first layout (step 402), receiving a first user input indicative ofa request to convert the display from the first layout to a secondlayout that represents the document as having a plurality of portions(step 404), identifying a suggested boundary at a first position betweentwo of the plurality of portions (step 406), displaying a document in asecond layout having the suggested boundary at the first position (step408), receiving a second user input indicative of a request to move thesuggested boundary to a second position different from the firstposition (step 410), and displaying the document in a second layouthaving the boundary in the second position (step 412).

At step 402, the document is displayed in a first layout. In an example,the first layout may correspond to the continuous layout as shown inFIGS. 5 and 13, and may represent the document as a single continuousscrolling portion. Depending on the length of the document content, thedisplay of the document in the first layout may include a scrollbar forthe user to view various regions of the document.

At step 404, the processor 104 receives a first user input indicative ofa request to convert the display from the first layout to a secondlayout. When the first layout corresponds to the continuous layout, thesecond layout may correspond to the portioned layout that represents thedocument as having a plurality of portions. Examples of the secondlayout are shown and described in relation to FIGS. 6-12 and 14-24. Asis shown in FIG. 5, the first user input may correspond to a selectionof a portioned mode region 526 that indicates a desire to convert thedocument content 520 to the portioned layout. In another example, theuser may provide a touch gesture such as 1660 (shown in FIG. 16) toindicate a desire to display the document content 520 in a plurality ofportions, as is shown in FIG. 17. These examples of user input aredescribed herein for illustrative example only. In general, one ofordinary skill in the art will understand that the first user input mayinclude a selection of a button, a detection of a particular touchgesture, or any other suitable user input indicative of a desire toconvert the layout of a display of a document from one layout intoanother layout. In an example, converting the document content from onelayout to another layout is effectively an edit action that applieschanges to the contents of the document.

At step 406, a suggested boundary is identified at a first positionbetween two of a plurality of portions. As is described in relation toFIG. 6, a suggested boundary may be identified by the processor 104 orthe layout renderer 108 by examining the document content 520 forappropriate portions. In one example, the processor 104 may recognizethat a first line of the document content 520 corresponds to a title ofthe document. In this case, a position of the suggested boundary may beidentified to occur immediately following the title, such that the titleis displayed by itself on a single portion. In one example, theprocessor 104 may recognize that images such as those shown in theportion 933 of FIG. 9 should be placed on a slide without any othercontent. In this case, suggested boundaries may be positioned directlyabove and below those images, as is shown in FIG. 12. As is described inrelation to FIG. 6, the positions of other suggested boundaries may beidentified based any other suitable features of the document content,such as the length of the document content and the size(s) anddimension(s) of the portions, such as is shown in the region 630 of FIG.6.

The number of suggested boundaries may be initially determined by theprocessor 104 (based on the amount of document content and the size(s)and dimensions of the portions, for example). Alternatively, the usermay provide a number of portions or boundaries that should be used todivide the document content 520. In this case, the initial set ofsuggested boundaries that are determined by the processor 104 has apredetermined number of boundaries to apply to the document content 520.

At step 408, the document is displayed in the second layout having thesuggested boundary at the first position. As an example, FIG. 6 shows aninitial display of the document content 520 with the suggestedboundaries 632 and 634.

At step 410, the processor 104 receives a second user input indicativeof a request to move the suggested boundary to a second position that isdifferent from the first position. As is shown and described in relationto FIGS. 7-9, a user input may include selecting and dragging thesuggested boundary 634, downward to a new position of the boundary 934shown in FIG. 9. In this case, the second position of the boundary 934is different from the first position of the suggested boundary 634, andthe user has moved the suggested boundary to a different position thanwas originally suggested.

In some embodiments, additional user input is received to add one ormore boundaries to the current set of boundaries. The current set ofboundaries may correspond to the set of suggested boundaries initiallydetermined by the processor 104, or a modified version of the set ofsuggested boundaries. As is described in relation to FIG. 10, the usermay select the add button 636, which results in the addition of a newboundary 1038. As shown in FIGS. 11 and 12, the user may select and dragthe new boundary 1038 to a new position. Upon detecting the user'srelease of the new boundary, the new boundary is converted to anexisting boundary 1238 in FIG. 12.

In some embodiments, additional user input is received to remove one ormore boundaries from the current set of boundaries. As is described into FIGS. 19 and 20, the user may provide a user input that selects aportion 1772 and combines that selected portion 1772 with anotherportion 1774 to result in a combined portion 2072. In this manner, theprevious boundary between the two portions 1774 and 1772 is removed.Likewise, any of the boundaries shown in FIGS. 6-12 may be removed, andportions may be combined, upon detection of a user input indicative of aremoval of a boundary, such as a user swipe gesture.

Moreover, as is described in relation to FIGS. 23 and 24, the user mayprovide an additional user input that indicates a removal of a portion1776 of the document content 520. Removing a portion of the documentcontent causes the document content 520 to become updated documentcontent 2420, and the boundary between portions 2072 and 1776 isremoved.

At step 412, the document is displayed in a second layout, having theboundary in the second position. An example of this display is shown inFIG. 10, in which the new position of the boundary 1034 is used, ratherthan the previous position of the suggested boundary 634 in FIG. 6. Insome embodiments, switching from one mode to another mode modifies thedocument content itself. In this case, when a document in the continuouslayout mode is switched to the portioned layout mode, the boundaries andtemplates associated with the various portions of the document arestored with the document content as part of the file. To return to theprevious mode, the user may provide an “undo” input to undo the changeto the document. In other embodiments, switching from one mode toanother mode only affects the view of the document content, but not thedocument content itself. In this case, the layout renderer 108 onlychanges the way in which the document content is displayed across thedifferent modes, but the document content itself is not modified.

In some embodiments, when the document content is displayed in theportioned layout, the user may provide another user input indicative ofa desire to convert the display of the document content to thecontinuous layout, such as selection of the continuous mode region 524of FIG. 5. In some embodiments, when the display returns to thecontinuous layout from the portioned layout, the parameters of the lastdisplayed portioned layout may be stored into the memory 106. Examplesof the parameters may include the positions of the boundaries and thesizes and layout of the document content on the various portions. Inthis case, if the user wishes to return to the portioned layout from thecontinuous layout, the stored parameters may be used by the layoutrenderer 108 to generate the portioned layout of the document. If thedocument content is not modified, the user may quickly switch betweenthe continuous and portioned layouts because the parameters of theportioned layout are already defined and easily remembered by the layoutrenderer 108.

If the document content is modified while in the continuous layout mode,the stored parameters may be adjusted accordingly. In an example, if atleast a threshold amount of content is added, one or more boundaries maybe added. In an example, if at least a threshold amount of content isremoved, one or more boundaries may be removed. In an example, the sizeof the text or objects (such as images, tables, graphs, charts, or anyother suitable object in a document) may be adjusted to fit on one ormore particular portions in which an amount of content that is less thanthreshold is added or removed. In particular, the size of text orobjects on a particular portion may be increased if a small amount ofcontent is removed, and the size of text or objects on another portionmay be decreased if a small amount of content is added. In someembodiments, the stored parameters for the portioned layout may beadjusted in real time, as the document content is being modified in thecontinuous layout mode. Alternatively, the stored parameters may beadjusted upon return to the portioned layout mode. In some embodiments,the layout renderer 108 may allow for easy conversion between thecontinuous layout mode and the portioned layout mode by displaying atemporary preview of the document content organized into a layout.

In some embodiments, it may be computationally expensive to store thelast set of parameters for the portioned layout, such that when the userconverts from a portioned layout mode to a continuous layout mode, theparameters for the portioned layout are discarded. In this case, if theuser wishes to return to the portioned layout mode, the processor 104may provide a set of suggested boundaries that is not based on the lastview of the portioned layout mode.

The systems and methods of the present disclosure enables users toselect and manipulate document content on user device such as acomputer, a tablet, or a mobile device. In particular, using the presentdisclosure, users may easily manipulate various portions of a documentby moving boundaries and/or portions around on a screen. Without thesystems and methods herein, a user would have to use a mouse cursorand/or keyboard input on a computer to manipulate document content. Forexample, the user would select a portion of a document, cut or copy theportion, navigate to a new region of the document, and paste the cut orcopied portion. Using a touch screen with the present disclosure isadvantageous at least because touch gestures provide an easier and moreintuitive way to divide document content into portions and move documentcontent to a desired section of a document.

FIG. 25 is a block diagram of a computing device, such as any of thecomponents of the system of FIG. 1, for performing any of the processesdescribed herein. Each of the components of these systems may beimplemented on one or more computing devices 2500. In certain aspects, aplurality of the components of these systems may be included within onecomputing device 2500. In certain implementations, a component and astorage device may be implemented across several computing devices 2500.

The computing device 2500 comprises at least one communicationsinterface unit, an input/output controller 2510, system memory, and oneor more data storage devices. The system memory includes at least onerandom access memory (RAM 2502) and at least one read-only memory (ROM2504). All of these elements are in communication with a centralprocessing unit (CPU 2506) to facilitate the operation of the computingdevice 2500. The computing device 2500 may be configured in manydifferent ways. For example, the computing device 2500 may be aconventional standalone computer or alternatively, the functions ofcomputing device 2500 may be distributed across multiple computersystems and architectures. In FIG. 25, the computing device 2500 islinked, via network or local network, to other servers or systems.

The computing device 2500 may be configured in a distributedarchitecture, wherein databases and processors are housed in separateunits or locations. Some units perform primary processing functions andcontain at a minimum a general controller or a processor and a systemmemory. In distributed architecture implementations, each of these unitsmay be attached via the communications interface unit 2508 to acommunications hub or port (not shown) that serves as a primarycommunication link with other servers, client or user computers andother related devices. The communications hub or port may have minimalprocessing capability itself, serving primarily as a communicationsrouter. A variety of communications protocols may be part of the system,including, but not limited to: Ethernet, SAP, SAS™, ATP, BLUETOOTH™, GSMand TCP/IP.

The CPU 2506 comprises a processor, such as one or more conventionalmicroprocessors and one or more supplementary co-processors such as mathco-processors for offloading workload from the CPU 2506. The CPU 2506 isin communication with the communications interface unit 2508 and theinput/output controller 2510, through which the CPU 2506 communicateswith other devices such as other servers, user terminals, or devices.The communications interface unit 2508 and the input/output controller2510 may include multiple communication channels for simultaneouscommunication with, for example, other processors, servers or clientterminals.

The CPU 2506 is also in communication with the data storage device. Thedata storage device may comprise an appropriate combination of magnetic,optical or semiconductor memory, and may include, for example, RAM 2502,ROM 2504, flash drive, an optical disc such as a compact disc or a harddisk or drive. The CPU 2506 and the data storage device each may be, forexample, located entirely within a single computer or other computingdevice; or connected to each other by a communication medium, such as aUSB port, serial port cable, a coaxial cable, an Ethernet cable, atelephone line, a radio frequency transceiver or other similar wirelessor wired medium or combination of the foregoing. For example, the CPU2506 may be connected to the data storage device via the communicationsinterface unit 2508. The CPU 2506 may be configured to perform one ormore particular processing functions.

The data storage device may store, for example, (i) an operating system2512 for the

computing device 2500; (ii) one or more applications 2514 (e.g.,computer program code or a

computer program product) adapted to direct the CPU 2506 in accordancewith the systems and

methods described here, and particularly in accordance with theprocesses described in detail

with regard to the CPU 2506; or (iii) database(s) 2516 adapted to storeinformation that may be

utilized to store information required by the program.

The operating system 2512 and applications 2514 may be stored, forexample, in a compressed, an uncompiled and an encrypted format, and mayinclude computer program code. The instructions of the program may beread into a main memory of the processor from a computer-readable mediumother than the data storage device, such as from the ROM 2504 or fromthe RAM 2502. While execution of sequences of instructions in theprogram causes the CPU 2506 to perform the process steps describedherein, hard-wired circuitry may be used in place of, or in combinationwith, software instructions for implementation of the processes of thepresent disclosure. Thus, the systems and methods described are notlimited to any specific combination of hardware and software.

Suitable computer program code may be provided for performing one ormore functions described herein. The program also may include programelements such as an operating system 2512, a database management systemand “device drivers” that allow the processor to interface with computerperipheral devices (e.g., a video display, a keyboard, a computer mouse,etc.) via the input/output controller 2510.

The term “computer-readable medium” as used herein refers to anynon-transitory medium that provides or participates in providinginstructions to the processor of the computing device 2500 (or any otherprocessor of a device described herein) for execution. Such a medium maytake many forms, including but not limited to, non-volatile media andvolatile media. Nonvolatile media include, for example, optical,magnetic, or op to-magnetic disks, or integrated circuit memory, such asflash memory. Volatile media include dynamic random access memory(DRAM), which typically constitutes the main memory. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM,DVD, any other optical medium, punch cards, paper tape, any otherphysical medium with patterns of holes, a RAM, a PROM, an EPROM orEEPROM (electronically erasable programmable read-only memory), aFLASH-EEPROM, any other memory chip or cartridge, or any othernon-transitory medium from which a computer can read. Various forms ofcomputer readable media may be involved in carrying one or moresequences of one or more instructions to the CPU 2506 (or any otherprocessor of a device described herein) for execution. For example, theinstructions may initially be borne on a magnetic disk of a remotecomputer (not shown). The remote computer can load the instructions intoits dynamic memory and send the instructions over an Ethernetconnection, cable line, or even telephone line using a modem. Acommunications device local to a computing device 2500 (e.g., a server)can receive the data on the respective communications line and place thedata on a system bus for the processor. The system bus carries the datato main memory, from which the processor retrieves and executes theinstructions. The instructions received by main memory may optionally bestored in memory either before or after execution by the processor. Inaddition, instructions may be received via a communication port aselectrical, electromagnetic or optical signals, which are exemplaryforms of wireless communications or data streams that carry varioustypes of information.

While various embodiments of the present invention have been shown anddescribed herein, it will be obvious to those skilled in the art thatsuch embodiments are provided by way of example only. Numerousvariations, changes, and substitutions will now occur to those skilledin the art without departing from the invention. It should be understoodthat various alternatives to the embodiments of the invention describedherein may be employed in practicing the invention. It is intended thatthe following claims define the scope of the invention and that methodsand structures within the scope of these claims and their equivalents becovered thereby.

What is claimed is:
 1. A method for transitioning a display of adocument from a first layout to a second layout, the method comprising:displaying, by a processor, the document in the first layout at a userinterface, wherein the first layout displays the document in acontinuous view, wherein in the first layout the document is scrollableto display different regions of the document at a user device;receiving, by the processor, a first user request to convert the displayof the document from the first layout to the second layout that displaysthe document in a plurality of slides that correspond to pages of thedocument; responsive to the first user request, determining, by theprocessor, a suggested boundary within the first layout of the documentby identifying an end of first content of a first content type and abeginning of second content of a second content type in the document,wherein the first content type and the second content type are differentcontent types, wherein the suggested boundary comprises a virtual lineplaced at a first position between the end of first content of the firstcontent type and the beginning of second content of the second contenttype, the virtual line separating at least two slides of the pluralityof slides into separate slides that have predetermined dimensions withrespect to height and width; and receiving, by the processor, a seconduser request to move the suggested boundary to a second positiondifferent from the first position, the moved suggested boundary tomodify a slide of the plurality of slides to include the first contentof the first content type and at least part of the second content of thesecond content type.
 2. The method of claim 1, further comprising:scaling the second content of the second content type to fit within thepredetermined dimensions with respect to the height and the width of acorresponding slide associated with the second layout; displaying, bythe processor, the document in the second layout having the suggestedboundary at the first position and the scaled second content, whereinthe second user request to move the suggested boundary to the secondposition different from the first position is received subsequent todisplaying the document in the second layout having the suggestedboundary at the first position; and displaying, by the processor, thedocument in the second layout having the suggested boundary in thesecond position.
 3. The method of claim 1, wherein the suggestedboundary is determined based on document content in the plurality ofslides.
 4. The method of claim 1, wherein the first content type and thesecond content type comprise at least a different one of paragraphcontent, header content, image content, table content, or formattingcontent.
 5. The method of claim 4, wherein the suggested boundary at thefirst position immediately precedes one of the paragraph content, theheader content, the image content, the table content, or the formattingcontent and immediately follows a different one of the paragraphcontent, the image content, the table content, or the formattingcontent.
 6. The method of claim 1, wherein the first content and thesecond content of the document in the first layout is displayed at afirst size, wherein the first content and the second content of thedocument in the second layout is displayed at a second size differentfrom the first size.
 7. The method of claim 1, further comprising:receiving, by the processor, a third user request to add an additionalboundary at a third position in the document displayed in the secondlayout.
 8. The method of claim 1, further comprising: receiving, by theprocessor, a fourth user request to reorder the plurality of slides inthe second layout or to combine at least two of the plurality of slidesinto a single slide.
 9. A system for transitioning a display of adocument from a first layout to a second layout, the system comprising:a memory; and a processor, coupled to the memory, to: display thedocument in the first layout at a user interface, wherein the firstlayout displays the document in a continuous view, wherein in the firstlayout the document is scrollable to display different regions of thedocument at a user device; receive a first user request to convert thedisplay of the document from the first layout to the second layoutcomprising a slide presentation that displays the document in aplurality of slides that correspond to pages of the document; andresponsive to the first user request, determine a suggested boundarywithin the first layout of the document by identifying an end of firstcontent of a first content type and a beginning of second content of asecond content type in the document, wherein the first content type andthe second content type are different content types, wherein thesuggested boundary comprises a virtual line placed at a first positionbetween the end of first content of the first content type and thebeginning of second content of the second content type, the virtual lineseparating at least two slides of the plurality of slides into separateslides that have predetermined dimensions with respect to height andwidth; and receive a second user request to move the suggested boundaryto a second position different from the first position, the movedsuggested boundary to modify a slide of the plurality of slides toinclude the first content of the first content type and at least part ofthe second content of the second content type.
 10. The system of claim9, the processor further to: scale the second content of the secondcontent type to fit within the predetermined dimensions with respect tothe height and the width of a corresponding slide associated with thesecond layout; display the document in the second layout having thesuggested boundary at the first position and the scaled second content,wherein the second user request to move the suggested boundary to thesecond position different from the first position is received subsequentto displaying the document in the second layout having the suggestedboundary at the first position; and display the document in the secondlayout having the suggested boundary in the second position.
 11. Thesystem of claim 9, wherein the first content type and the second contenttype comprise at least a different one of paragraph content, headercontent, image content, table content, or formatting content.
 12. Thesystem of claim 11, wherein the suggested boundary at the first positionimmediately precedes one of the paragraph content, the header content,the image content, the table content, or the formatting content andimmediately follows a different one of the paragraph content, the imagecontent, the table content, or the formatting content.
 13. The system ofclaim 9, the processor further to: receive a third user request to addan additional boundary at a third position in the document displayed inthe second layout.
 14. The system of claim 9, the processor is furtherto: receive a fourth user request to reorder the plurality of slides inthe second layout or to combine at least two of the plurality of slidesinto a single slide.
 15. A non-transitory computer-readable mediumcomprising instructions for transitioning a display of a document from afirst layout to a second layout that, responsive to execution by aprocessor, cause the processor to perform operations comprising:displaying, by the processor, the document in the first layout at a userinterface, wherein the first layout displays the document in acontinuous view, wherein in the first layout the document is scrollableto display different regions of the document at a user device;receiving, by the processor, a first user request to convert the displayof the document from the first layout to the second layout comprising aslide presentation that displays the document in a plurality of slidesthat correspond to pages of the document; and responsive to the firstuser request, determining, by the processor, a suggested boundary withinthe first layout of the document by identifying an end of first contentof a first content type and a beginning of second content of a secondcontent type in the document, wherein the first content type and thesecond content type are different content types, wherein the suggestedboundary comprises a virtual line placed at a first position between theend of first content of the first content type and the beginning ofsecond content of the second content type, the virtual line separatingat least two slides of the plurality of slides into separate slides thathave predetermined dimensions with respect to height and width; andreceiving, by the processor, a second user request to move the suggestedboundary to a second position different from the first position, themoved suggested boundary to modify a slide of the plurality of slides toinclude the first content of the first content type and at least part ofthe second content of the second content type.
 16. The non-transitorycomputer-readable medium of claim 15, the operations further comprising:scaling the second content of the second content type to fit within thepredetermined dimensions with respect to the height and the width of acorresponding slide associated with the second layout; displaying, bythe processor, the document in the second layout having the suggestedboundary at the first position and the scaled second content, whereinthe second user request to move the suggested boundary to the secondposition different from the first position is received subsequent todisplaying the document in the second layout having the suggestedboundary at the first position; and displaying, by the processor, thedocument in the second layout having the suggested boundary in thesecond position.
 17. The non-transitory computer-readable medium ofclaim 15, wherein the first content type and the second content typecomprise at least a different one of paragraph content, header content,image content, table content, or formatting content.
 18. Thenon-transitory computer-readable medium of claim 17, wherein thesuggested boundary at the first position immediately precedes one of theparagraph content, the header content, the image content, the tablecontent, or the formatting content and immediately follows a differentone of the paragraph content, the image content, the table content, orthe formatting content.
 19. The non-transitory computer-readable mediumof claim 15, the operations further comprising: receiving, by theprocessor, a third user request to add an additional boundary at a thirdposition in the document displayed in the second layout.
 20. Thenon-transitory computer-readable medium of claim 15, the operationsfurther comprising: receiving, by the processor, a fourth user requestto reorder the plurality of slides in the second layout or to combine atleast two of the plurality of slides into a single slide.